home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
EnigmA Amiga Run 1997 May
/
EnigmA AMIGA RUN 18 (1997)(G.R. Edizioni)(IT)[!][issue 1997-05][EAR-CD II].iso
/
earcd
/
util
/
wb
/
saymore.lha
/
SayMore.doc
< prev
next >
Wrap
Text File
|
1997-01-09
|
10KB
|
244 lines
SayMore Version 0.33
© 1996 - 1997
By Kenton A. Groombridge
Why the year long wait for so little change:
I took a second job on top of my regular job. This was
keeping me very busy. I tinkered with the program a little
bit here and there, but didn't get serious with it. Now I
am getting ready to go to Heidelberg, Germany, and quit my
second job. In case you didn't know, I am in the U.S. Army.
Well anyway, I have some free time on my hands, so I am going
to try to finish this program. I am seriously looking at
using ClassAct to do this. I hate MUI. MUI is the totally
wrong approach to Amiga programming. It is large, it is slow
and in makes you the user pay for it. ClassAct is a tool for
the programmer and you the user do not pay a cent for it.
When I get to Germany, I will probably purchase ClassAct and
make SayMore the program I have been talking about in my
"To Do" list. I am going to try to keep my email address
listed below active for a while, but if you try emailing me
and can not get through, wait for the next post of SayMore
and I will have my new email address included.
Introduction:
SayMore is a program designed to replace Say. Say was fine
for Workbench 1.3, but the Say program included with 2.0X did not
have the ability to change most of the options in the new
narrator.device.
There are a couple programs similar to SayMore currently on
Aminet. These programs have severe memory leaks and are not
system friendly. A considerable amount of time and effort has
gone into SayMore to ensure that it is safe. It is near
impossible for me to test all the limits of SayMore, but all test
have proven that it is completely 100% OS friendly and has no
memory leaks.
Disclaimer:
The use of this program is on your own risk. There is no
liability or responsibility for any damage caused by the program.
Copyright:
SayMore is free to be spread on public-domain and shareware
disks, as long as they are sold for a reasonable charge.
Use of the program:
I do not plan to charge for the use of SayMore, but I have
coined the term caveatware. Caveatware means that you may use
the program with the following stipulations.
1. If English is your native language, please try to speak it
correctly. I know that my English is not always correct, but I
am trying to improve it. Some of by pet peeves are using the
word "gender" when you mean "sex." As one person who sent email
to me put it, "Gender is the attribute of a word and not a
person." This is all part of political correctness which I
despise.
2. Write a program for the Amiga. It doesn't matter how big
or small. Think of something you like, or even find a program
for another platform and port it to the Amiga. You would be
surprised on how much source code is available for free.
3. If you write software for the Amiga, do not use MUI.
4. If you write Amiga software, and charge a fee for what you
write, please consider discounts for other Amiga software
authors.
5. Send a message to me letting me know that you use the
program. I would greatly appreciate some input on what you would
like to see added or changed to the program.
6. Bug who ever owns the Amiga at this time to include
narrator.device and translator.library with future releases of
Workbench.
6. More to follow.
Installation:
For any CPU, copy the SayMore icon and executable to any
directory. For 68020+ CPUs, copy the SayMore.020 icon and
executeable to any directory. Rename the files is desired.
Required:
As far as I know, this program requires Workbench 2.04+, but
it has not been tested on all platforms. It was written on an
Amiga 4000/40 and tested on an A2000/GVP 040/Workbench 3.1.
Remember that it requires the new narrator.device and
translator.library included with Workbench 2.0X. As far as I
know, the only way to legally get these files is to own one of
these versions of Workbench.
Usage:
SayMore pretty much works like the old "Say" program. It
supports history and cut and paste. Use Right Amiga-C to copy
from another window, and Right Amiga-V to paste in the SayMore
window. It may act quirky if there are carriage returns or
line feeds at the end of each line.
To quit the program, type CTRL-\ in the input window, hit
"ENTER" on a blank line, or use the left mouse button to
close the input window.
Reporting errors:
I have put in some code to help determine the cause of
errors. When a detectable error occurs in this program, a
Window will pop up with a message and the amount of free
chip RAM and fast RAM. If either of these numbers are small,
you may be running out of memory. Try to free some memory
and try again. Read the message. If the message says "Can not
open translator.library V37 or above," check to see that you have
that library and it is the correct version.
When opening devices, there is not a field to indicate what
version of the device to open, so this program will just open
any narrator.device on disk. If things are not working like
you would think they should, (example: face is not moving,
changing gadget values does not affect voice), go to the shell
and do a "version narrator.device". If it does not specifically
say version 37 or above, then you have the wrong version.
There is only one error, at least of that I know, that will
cause the program to fail without a message, and that is the
incorrect or missing "intuition.library" or not enough memory
to open this library. Without this library, a window can not
be opened to indicate the error.
If you can not determine the cause of the error or the
program fails without a detectable error, please send me the
configuration of your system, other programs that were running at
the time, and any other information you feel is important.
Contacting the author:
e-mail kgroombr@hereford.ampr.org
snail-mail Kenton Groombridge
1405 North Center Avenue
Hardin, MT 59034
USA
Acknowledgments:
This version of the program is written using SAS/C 6.57.
SAS/C is a great program, and I hope that they continue support
for the Amiga. Thanks to the SAS/C Amiga developers for the
patches written after Commodore's death.
To do:
1. Tool types for user configurability.
2. File requester.
3. Command line operation that parses arguments.
4. Switch characters so that the speech can change while
speaking.
5. Add "Stop" button so that speech can be interupted.
6. Sizable main window. I am not using MUI!
7. Add menu with items such as "About", "Open", and "Quit".
8. Make font sensitive.
9. Add localization.
10. Different faces for the "Face" window.
11. Make certain windows optionable such as "Face", and "Console
output."
12. Convert documentation into AmigaGuide format.
13. Make a pretty icon.
14. Requester that opens when trying to run another instance of
the program. Requester will have a bring to front button and an
OK button. At the moment, there is no requester at all so if the
SayMore window can't be seen, trying to launch the program may
give indication that it is failing.
15. ARexx port. Wouldn't it be nifty to make your programs
speak?
16. Options to follow at the request of users.
Revision history:
0.10B
Written in assembler. It was not user friendly, but it worked.
0.20
Ported to C and made several enhancements.
0.25
Fixed a bug in error reporting. It reported that it could not
create the console message port when it could not open
translator.library and vice-versa.
Included the correct documentation.
0.30
Fixed bug with the console_task that caused messages to get
passed to the wrong instance of the program when two or more
instances of the program were loaded.
Changed translate_buffer's size to account for the largest
possible translate string (I hope).
Discovered a bug in translator.library. When it handles large
strings of consecutive numbers, it will skip numbers every 100
numbers it processes. The tranlate_buffer's size accounts for
the largest string possible when or if this bug is ever fixed.
Found a bug with the creation of the console_task. If
console_task tried to find it's parents message port before the
port was added to the system list, it would crash with a Guru
80000008. I could not find a way to completely fix this bug. I
did make it where the parent's message port is added to the
system list way before the spawned task should ask for it. The
only way I know to fix this is to have only one instance of
SayMore running at a time. If at anytime you get this error,
please let me know, and I will work harder to try to eliminate
this bug.
Added "Face" window. It is ugly, but it is a start.
0.33
Changed code so that only one instance of SayMore can run at a
time. There really is no reason for two instances since only
one narrator.device can be open at any one time. If you were
getting that 80000008 Guru, it will be gone now.
Fixed "Face" window so that it works with different size
borders (urouhack). Eliminated the GimmeZeroZero window for
face and rewrote the drawing routines so less system
resources are required and speed in increased.
Now uses EasyRequest() to print error messages. This is good
news for those Amiga monitors that don't sync down to 15KHz.
"Face" window now uses a diamond mouth. Don't worry, future
versions will have user configurable mouths. This is just for
testing since I am certain that the oval mouth functions
properly.